package com.eduagent.xwqeduagent.api.characterRecognition.UniversalFileRecognition;

import lombok.Data;

/**
 * Base64图片识别请求类
 */
@Data
public class Base64RecognitionRequest {
    /**
     * Base64编码的图片内容（不包含前缀）
     */
    private String base64Content;
    
    /**
     * 图片格式（jpg, jpeg, png, bmp）
     */
    private String imageFormat;
    
    /**
     * 用户ID（非必须）
     */
    private String uid;
    
    /**
     * 输出结果级别，以逗号分隔
     * normal: 输出OCR识别结果和行坐标
     * normal,char: 输出OCR识别结果和字符单元（CharUnit）结果
     * normal,no_line_position: 输出不带行坐标的OCR识别结果
     * normal,char,no_line_position: 输出不带行坐标的OCR识别结果、字符单元（CharUnit）结果
     */
    private String resultOption;
    
    /**
     * 输出结果格式
     * json: 输出结果为JSON字符串格式
     * json,markdown: 输出结果为json、markdown格式
     * json,sed: 输出结果为json、简单要素文档（sed）格式
     * json,markdown,sed: 输出结果为json、markdown、简单要素文档（sed）格式
     */
    private String resultFormat;
    
    /**
     * 结果输出方式
     * one_shot: 一次性输出全量结果
     * streaming_layout: 流式输出两次，第一次输出版面信息，第二次输出全量结果
     */
    private String outputType;
    
    /**
     * 是否解析图片exif头
     * 0: 不解析
     * 1: 解析
     */
    private String exifOption;
    
    /**
     * 是否解析图片的alpha通道
     * 0: 不解析图片的alpha通道，即仅读取图片的RGB通道
     * 1: 解析图片的alpha通道
     */
    private String alphaOption;
    
    /**
     * 元素选项设置，针对markdown格式
     * 格式: "element_name1=value1,element_name2=value2"
     */
    private String markdownElementOption;
    
    /**
     * 元素选项设置，针对sed格式
     * 格式: "element_name1=value1,element_name2=value2"
     */
    private String sedElementOption;
    
    /**
     * 图像的最小旋转角度阈值 (0-180)
     */
    private Float rotationMinAngle;
} 